<template>
  <div>
    <el-container>
      <el-header class="HomeHeader">
        <div class="title">云E办</div>
        <el-dropdown  class="userInfo" @command="commandHandler">
            <span class="el-dropdown-link">
              {{user.name}}<i><img :src="user.userFace"></i>
            </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item command="userInfo">个人中心</el-dropdown-item>
            <el-dropdown-item command="setting">设置</el-dropdown-item>
            <el-dropdown-item command="logout">注销登录</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <!--每次只打开一个菜单-->
          <el-menu router unique-opened>
            <!--循环调用index的路由-->
            <!--数值转字符串-->
            <template v-for="(item,index) in routes">
              <el-submenu :index="index + ''"
                          :key="index"
                          v-if="!item.hidden">
                <template slot="title">
                  <i :class="item.iconCls" style="color: #1accff;margin-right: 5px"></i>
                  <span>{{item.name}}</span>
                </template>
                <el-menu-item :index="children.path" v-for="(children,indexj) in item.children" :key="indexj">
                  {{children.name}}
                </el-menu-item>
              </el-submenu>
            </template>
          </el-menu>
        </el-aside>
        <el-main>
          <el-breadcrumb v-if="this.$router.currentRoute.path!='/home'"
                         separator-class="el-icon-arrow-right">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>{{this.$router.currentRoute.name}}</el-breadcrumb-item>
          </el-breadcrumb>
          <div class="homeWelcome" v-if="this.$router.currentRoute.path=='/home'">
            欢迎来到云E办系统！
          </div>
          <router-view class="homeRouteView"/>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
export default {
  name: "Home",
  data(){
    return{
      user: JSON.parse(window.sessionStorage.getItem('user'))
    }
  },
  //计算属性
  computed: {
    routes(){
      return this.$store.state.routes;
    }
  },
  methods: {
    commandHandler(command){
      this.$confirm('此操作将注销登录, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        if (command = 'logout') {
          //注销登录
          this.postRequest('/logout');
          //清空用户信息
          window.sessionStorage.removeItem('tokenStr');
          window.sessionStorage.removeItem('user');
          //清空菜单
          this.$store.commit('initRoutes',[]);
          this.$router.replace('/');
        }
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消注销操作'
        });
      });
    }
  }
}
</script>

<style>
.HomeHeader{
  background: #409eff;
  display: flex;
  align-items: center;
  /* 去掉左右两边的缝隙*/
  justify-content: space-between;
  padding: 0 15px;
  box-sizing: border-box;
}
.HomeHeader .title{
  font-size: 30px;
  font-family: 楷体;
  color: white;
}
.HomeHeader .userInfo{
  cursor: pointer;
}
.el-dropdown-link img{
  width: 48px;
  height: 48px;
  border-radius: 24px;
  margin-left: 8px;
}
.homeWelcome{
  text-align: center;
  font-size: 30px;
  font-family: 楷体;
  color: #409eff;
  padding-top: 50px;
}
.homeRouteView{
  margin-top: 10px;
}
</style>